This invention relates to musical tone generation apparatuses which generate musical tones using waveform memories. Particularly, this invention uses the high-speed bus such as the PCI bus to perform reading and writing operations on the waveform memory.
The PCI bus (or PCI local bus, where `PCI` is an abbreviation for `Peripheral Component Interconnect`) is a local bus architecture designed to put peripheral on an electrical pathway closer to the central processing unit in order to improve the performance of the computer system.
The sound source device of the waveform memory type is developed to enable the simultaneous generation of multiple musical tones corresponding to multiple channels in a time division system. Herein, 1 sampling period is divided into multiple time slots, each having a same time length, which correspond to channels respectively. Each time slot is used to perform a musical tone generating operation with respect to each channel. The waveform memory stores waveform samples (or sampled waveforms) with respect to the time slots respectively. So, the device accesses the waveform memory a certain number of times. Interpolation calculations are performed on a number of waveform samples which are read from the waveform memory with respect to a number of consecutive points of the sampling. Thus, the device generates musical tone waveform data with respect to 1 sampling point.
Meanwhile, the electronic musical instrument of the waveform memory type uses the central processing unit (i.e., CPU) to control overall operations thereof. Herein, the memory stores control programs as well as waveform samples. So, the memory is shared by the CPU and sound source section.
In the sound source systems of the electronic musical instruments, the access of the memory is the bottleneck element. In the general, many of the systems are designed such that the bus coupled to the waveform memory is connected to the sound source section only. In order to change the stored contents of the waveform memory, some of the systems are designed to enable the time-division usage of the bus between the CPU and sound source section. So, the CPU and sound source section alternatively access the waveform memory in accordance with clock pulses of the time division system. Herein, a certain number of access slots (i.e., time slots for the access) are exclusively used for the CPU. In other words, the access slots for the CPU are continuously secured even if the CPU does not access the waveform memory to perform reading and/or writing operations. Thus, the access is performed on the waveform memory with a low efficiency. In some cases, the sound source section requires a large number of times to access the waveform memory to perform the generation of musical tones, wherein `a number of times to access` will be referred to as `access times`. However, due to the reason described above, the access times should be limited. This may cause a limitation in generation of musical tones. That is, the system may suffer from a demand that a number of musical tones should be limited due to the limited access times. Further, in the duration that the sound source section accesses the waveform memory, the other circuits such as the CPU and SCSI interface (where `SCSI` is an interface standard for small computer system interface) cannot use the bus. Those are disadvantages and problems which this invention should solve.
Moreover, to perform the interpolation calculations with respect to each channel, the system should perform the memory access 2 times in each sampling period. By the way, the common bus such as the PCI bus has the so-called "bus arbiter" (or "bus arbitration" which represents a procedure that resolves priorities among units contending for control of the common bus and that passes control to the selected unit). That is, the above common bus responds to priorities to perform assignment of the bus, so the usage right of the bus is assigned to the selected unit. In the case of the common bus having the bus arbiter, however, if the system changes over the usage rights of the bus many times, the usage efficiency of the bus as a whole should be lowered. This is another problem which this invention should solve.